package com.unism.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;



public class GlWebListener implements ServletContextListener {

	//得到spring容器，以备在非web环境中应用spring框架
	private static ApplicationContext springContext ;

	/**
	 * 关闭应用服务器上下文时，执行此方法
	 */
	public void contextDestroyed(ServletContextEvent event) {
		//System.out.println("应用服务器关闭时！");
	}
	
	
	/**
	 * 应用服务器上下文初始化时，执行此方法
	 */
	public void contextInitialized(ServletContextEvent event) {
		ServletContext con = event.getServletContext() ;
		//初始化Spring Context
		this.getSpringFrame(con) ;
	}



	/**
	 * 得到spring上下文
	 * @return
	 */
	public static ApplicationContext getSpringContext() {
		return springContext;
	}
	
	
	 /**
     * 得到spring容器，以备在非web环境中应用spring框架
     *
     */
    private void getSpringFrame(ServletContext sc){
		springContext = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);
    }
    
}
